package it.unical.mat.aec.processTests;

import it.unical.mat.aec.model.Domanda;
import it.unical.mat.aec.model.Test;
import it.unical.mat.aec.model.Traccia;

import java.util.ArrayList;

public class Correzione {
	
	
	private Correzione(){
		
	}
	
	
	public static void correggi(ArrayList<Test> tests) throws CorrezioneException{
		String errors=null;
		Traccia traccia=tests.get(0).getTraccia();
		for(Test test:tests){
			for(Domanda domandaTest:test.getDomande()){
				Domanda domandaTraccia=traccia.getDomanda(domandaTest.getId());
				if(domandaTraccia==null){
					if(errors==null)
						errors="";
					errors=errors.concat("For test "+test.getId()+" , student id: "+test.getStudente().getMatricola() +" the quest "+domandaTest.getId()+" is no present in track\n");
				}
				else
					if(domandaTest.getRisposta().equals(domandaTraccia.getRisposta())){
						domandaTest.setCorrect(true);
						domandaTest.setPunteggio(domandaTraccia.getPunteggio());
					}
			}
		}
		if(errors!=null)
			throw new CorrezioneException(errors);
	}
}
